Multicarrier DS/CDMA system using a turbo code with nonuniform repetition coding

ABSTRACT

The present invention relates to a multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding. In particular, it relates to a multicarrier DS/CDMA system using a turbo code with unequal diversity order in its code symbols instead of using a convolutional code.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding. In particular, it relates to a multicarrier DS/CDMA system using a turbo code with unequal diversity order in its code symbols instead of using a convolutional code.

[0003] 2. Description of the Related Art

[0004] With the recent development in mobile communication technology, the analog communication technologies that have been used in prior art, such as time division multiple access (TDMA) and frequency division multiple access (FDMA), are being replaced by code division multiple access (CDMA), a digital communication technology.

[0005] CDMA is a method in which a code is assigned to digitized voice information with a broadened frequency band so that each user can transmit signals according to the code. With this method, a voice signal is first divided into bit units to be encoded, and thereafter inserted into communication frequency band. As a result, the accommodation capacity of each channel increases, and the number of users possibly assigned to the same frequency band is increased by 5-10 times compared with the conventional analog-type multiple access technologies. And thus, it is mainly used for mobile communication technology.

[0006] CDMA method is employed in IMT-2000 standard, which is being considered to be a standard for next-generation mobile communication such as voice/moving picture data transmission and/or Internet search. However, it has been pointed out that, in CDMA method, the communication quality could be degraded due to the excessive interference caused by different electric powers assigned to multiple users.

[0007] A multicarrier DS/CDMA system using a convolutional code has been proposed to prevent the above-described quality degradation in establishing a wideband CDMA system (Y. H. Kim, J. M. Lee, I. H. Song, H. G. Kim and S. C. Kim, “An orthogonal multicarrier DS/CDMA system using a convolutional code,” J. of Korean Electro. Soc., vol. 37TC, no. 4, pp. 295-303, April 2000; D. N. Rowitch and L. B. Milstein, “Convolutionally coded multicarrier DS CDMA systems in a multipath fading channel-part II: narrowband interference suppression,” IEEE Trans. Commun., vol. 47, no. 11, pp. 1729-1736, November 1999). In this system, the available bandwidth is divided into a set of disjoint equiwidth subchannels, and narrowband DS/CDMA waveforms are transmitted in parallel over the subchannels.

[0008] The bit error rate of an orthogonal multicarrier DS/CDMA system using a convolutional code described above is relatively improved compared with that of a single-carrier DS/CDMA system in the case that a partial band-interference is being occurred.

[0009] In addition to the above-described multicarrier DS/CDMA system using a convolutional code, a multicarrier DS/CDMA system using a turbo code has been introduced to be a more advanced system (A. H. S. Mohammadi and A. K. Khandani, “Unequal error protection on turbo-encoder output bits,” Electron. Letters, vol. 33, no. 4, pp. 273-274, February 1997; Y. M. Choi and P. J. lee, “Analysis of turbo codes with asymmetric modulation,” Electron. Letters, vol. 35, no. 1, pp. 35-36, January 1999). In this system, different energies are assigned to the two kinds of outputs, information symbols and parity check symbols, of a turbo encoder in the additive white Gaussian noise (AWGN) channel to increase the Euclidean distance, and thus improve the communication quality

[0010] That is to say, by using a turbo code instead of a convolutional code, the bit error rate (BER; It indicates the system performance, i.e. communication quality.) is improved such that Eb/No becomes to be 0.7 dB at BER of 10⁻⁵ and rate of ½. Consequently, it provides a communication quality almost approaching the Shannon limit, and thus, a turbo code is generally used for error correction.

[0011] However, the prior multicarrier DS/CDMA system using a turbo code has a problem that a stronger signal energy given to one user causes a stronger interference occurring to the other users, and the communication quality is degraded thereby.

[0012] Besides, in case of inducing more energy to increase the Euclidean distance, the fading effect due to the fading channel cannot be reduced very much.

SUMMARY OF THE INVENTION

[0013] The present invention is proposed to solve the problems of the prior art mentioned above. It is therefore the object of the present invention to provide a multicarrier DS/CDMA system that improves bit error rate to provide a better communication quality by using a turbo code instead of a convolutional code and assigning additional diversity orders to the parity check symbols of a turbo encoder among the two kinds of outputs of a turbo encoder, data bits and parity check symbols.

[0014] It is another object of the present invention to increase the number of possible users by reducing the fading effect by increasing the diversity of the codes and the channels.

[0015] To achieve the object mentioned above, the present invention presents a multicarrier DS/CDMA system using a turbo code with nonuniform repetition coding comprising: a turbo encoder for encoding input data bits; a repeater/symbol mapper for replicating the turbo code symbols outputted from the turbo encoder into repetition code symbols in frequency domain and mapping the replicated repetition code symbol signals appropriately; at least one first interleaver for changing channels for the turbo code symbols outputted from the repeater/symbol mapper so that the fading effect is properly distributed on the codeword symbols; at least one first multiplier for multiplying a signature sequence to the turbo code symbols, which are properly rearranged by at least one first interleaver, for band-broadening; at least one impulse modulator for modulating the band-broadened signals from at least one first multiplier to an impulse shape; at least one chip wave-shaping filter for smoothening the waveform of the output signals from at least one impulse modulator and eliminating the interference between the symbols; at least one second multiplier for mapping the output signals from at least one chip wave-shaping filter to each frequency band; a first adder for adding all the output signals from at least one second multiplier and transmitting the signals; at least one chip matched filter for chip-matched filtering the signals transmitted from the first adder for each channel; at least one third multiplier for the chip-matched filtered signals for each channel outputted from at least one chip-matched filter transmitting through; at least one lowpass filter for inphase modulating and lowpass filtering the signals transmitted through at least one third multiplier; at least one correlator for sampling the lowpass filtered signals outputted from at least one low-pass filter at each T_(c) and thereafter correlating the signals with a signature sequence of a user; at least one second interleaver for rearranging the sequence of the signals, correlated with a signature sequence of a desired user, outputted from at least one correlator back to the original sequence by deinterleaving; a symbol demapper for demapping the separated symbol signals outputted from at least one second interleaver; and a turbo decoder for decoding the demapped symbol signals outputted from the symbol demapper.

BRIEF DESCRIPTION OF THE DRAWINGS

[0016]FIG. 1a is a systematic diagram of a transmitter of k-th user among K users communicating with one another by using a multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code.

[0017]FIG. 1b is a view illustrating the detail structure of a turbo encoder, described in FIG. 1a, of which the bit duration is T_(b) and the rate is 1/C.

[0018]FIG. 1c is a view illustrating an example of symbol mapping when using a turbo code of which M=12 and the rate is ¼ and a repetition vector, which is represented by (M₁, M₂, M₃, M₄), is (2, 5, 3, 2).

[0019]FIG. 2 is a systematic diagram of a multicarrier DS/CDMA receiver using a turbo code.

[0020]FIG. 3a and FIG. 3b are views illustrating the structure and the state of a rate ⅓ recursive systematic convolutional (RSC) encoder with a generator denoted in octal by (1, {fraction (5/7)}, {fraction (3/7)}).

[0021]FIG. 4 is a graph showing the union bound and the asymptotic performance with one bit error rate (BER) term, and the asymptotic performance of two BER terms when K=1, M=12, W=100, W=1000 and a rate ⅓ turbo code is used with a repetition vector of (4, 4, 4).

[0022]FIG. 5 is a graph showing the bounds with simulation results for three different repetition compositions when K=1, M=12, W=100, W=10000 and a rate ⅓ turbo code is used.

[0023]FIG. 6 is a graph showing the bit error rate along with E_(b)/η₀ when K=1, M=12, W=1000 and three turbo codes of different rates are used.

[0024]FIG. 7 is a graph showing the bit error rate along with K when M=12, W=1000, E_(b)/η₀=5 dB and a rate ⅓ turbo code is used.

[0025] (RSC) Encoder

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0026] Hereinafter, referring to appended drawings, the structures and the operation procedures of the embodiments of the present invention are described in detail.

[0027]FIG. 1a is a systematic diagram of a transmitter of k-th user among K users communicating with one another by using a multicarrier DS/CDMA system using a turbo code.

[0028] As described in FIG. 1a, a transmitter comprises a turbo encoder (10), a repeater/symbol mapper (20), numbers of first interleavers (30, 31, 32), numbers of first multipliers (40, 41, 42), numbers of impulse modulators (50, 51, 52), numbers of chip wave-shaping filters (60, 61, 62), numbers of second multipliers (70, 71, 72) and a first adder (80).

[0029] The data bit b_(l) ^((k)) at time 1 for the k-th user with bit duration T_(b) is inputted to a rate 1/C turbo encoder (10), whose output symbols are denoted by {x_(j,l) ^((k)), j=1, 2, . . . , C}, and encoded therein.

[0030] The turbo encoder (10) is described in detail in FIG. 1b.

[0031]FIG. 1b is a view illustrating the detail structure of a turbo encoder, described in FIG. 1a, of which the bit duration is T_(b) and the rate is 1/C.

[0032] As described in FIG. 1b, a turbo encoder (10) comprises an interleaver (1), a first recursive systematic convolutional (RSC) encoder (2) and a second recursive systematic convolutional (RSC) encoder (3).

[0033] The rates of the first RSC encoder (2) and the second RSC encoder (3) are 1/C₁ and 1/C₂, respectively.

[0034] For the outputs of the encoder, x_(1,l) ^((k)) denotes the systematically transmitted binary data symbol, {x_(j,l) ^((k))}_(p1)={x_(2,l) ^((k)), . . . , x_(C) ₁ _(,l) ^((k))} denote the parity check symbols encoded by the first RSC encoder (2), and {d_(j,l) ^((k))}_(p2)={x_(C) ₁ _(+1,l) ^((k)), . . . , x_(C,l) ^((k))} denote the parity check symbols from the second RSC encoder (3) in which the input signal b_(l) ^((k)), which is properly rearranged by the interleaver (1), is encoded.

[0035] The symbol x_(j,l) ^((k)) is repetition coded at a rate 1/M_(j) and mapped into the subchannels by the repeater/symbol mapper (20) to properly separate, in frequency, the repetition code symbols of each turbo code symbol.

[0036] Here, an example of symbol mapping by using a symbol mapper is described in FIG. 1c.

[0037]FIG. 1c is a view illustrating an example of symbol mapping when using a turbo code of which M=12 and the rate is ¼ and a repetition vector, which is represented by (M₁, M₂, M₃, M₄), is (2, 5, 3, 2).

[0038] As described in FIG. 1c, it illustrates an embodiment of mapping 4 turbo code symbols to 12 sub-channels when a repetition vector (M₁, M₂, M₃, M₄) is (2, 5, 3, 2).

[0039] Assume that {{tilde over (x)}_(m,l) ^((k)), m=1, 2, . . . , M} are the signals outputted from the symbol mapper.

[0040] Here, {tilde over (x)}_(m,l) ^((k)) is the symbol transmitted through the m-th subchannel at time l . More specifically, {tilde over (x)}_(m,l) ^((k)) is equal to x_(j,l) ^((k)) if m belongs to the index set A_(j) whose elements are the indexes of the subchannels where x_(j,l) ^((k)) is transmitted.

[0041] Numbers of first interleavers (30, 31, 32) described in FIG. 1a rearranges the signals {{tilde over (x)}_(m,l) ^((k)), m=1, 2, . . . , M} supplied by the repeater/symbol mapper (20) by channel-interleaving in order that the deep fading effect is properly distributed on the codeword symbols.

[0042] Then, numbers of first multipliers (40, 41, 42) multiply signature sequences to the turbo code symbols, which are properly rearranged by numbers of first interleavers (30, 31, 32) and outputs band-broadened signals.

[0043] Numbers of impulse modulators (50, 51, 52) modulate the band-broadened signals from numbers of first multipliers (40, 41, 42) into impulse shape and outputs the modulated signals.

[0044] In-phase modulators and orthogonal-phase modulators are combined to be used as impulse modulators in a prior multicarrier DS/CDMA system using a convolutional code, however, in-phase modulators are only used as numbers of impulse modulators (50, 51, 52) in the present invention for simplifying the system components.

[0045] Numbers of chip wave-shaping filters (60, 61, 62) smoothen the waveform of the impulse-type moderated signals outputted from numbers of impulse modulators (50, 51, 52), eliminates the interference between symbols and outputs them.

[0046] Numbers of second multipliers (70, 71, 72) are mapping the output signals from numbers of chip wave-shaping filters (60, 61, 62) to each frequency band.

[0047] A first adder (80) adds all the output signals from numbers of second multipliers (70, 71, 72) and transmits them to a receiver.

[0048] Here, the transmission signal of a turbo code symbol of k-th user is shown in Equation 1. $\begin{matrix} {{{s^{(k)}(t)} = {\sqrt{2E_{c}}{\sum\limits_{m = 1}^{M}\quad {\sum\limits_{n = {- \infty}}^{\infty}\quad {{\overset{\sim}{x}}_{m,{\lbrack{n/N}\rbrack}}^{(k)}c_{n}^{(k)}{p\left( {t - {nT}_{c}} \right)}{\cos \left( {{\omega_{m}t} + \phi_{m}^{(k)}} \right)}}}}}},} & \left\lbrack {{Equation}\quad 1} \right\rbrack \end{matrix}$

[0049] where,

[0050] E_(c): energy-per-chip,

[0051] P(t): impulse response of chip wave-shaping filter,

[0052] {c_(n) ^((k))}: random binary signature sequence with period N,

[0053] 1/T_(c): chip rate,

[0054] ω_(m): angular frequency of m-th subcarrier, and

[0055] {φ_(m) ^((k))}: independent identically distributed (iid) random variables uniformly distributed over [0, 2π).

[0056] Here, each subchannel is assumed to be a slowly varying frequency nonselective Rayleigh fading with impulse response function represented by Equation 2.

h _(m) ^((k))(t)=α_(m) ^((k)) e ^(jθ) ^(_(nl)) ^((k))δ(t), m=1, 2, . . . , M,   [Equation 2]

[0057] where,

[0058] {α_(m) ^((k))}: fading amplitudes, and

[0059] {θ_(m) ^((k))}: random phases.

[0060] As shown in the above equation, the fading amplitudes and phases are correlated in time and frequency.

[0061] However, the correlation occurred in the fading amplitudes can be reduced by using proper channel interleavers (30, 31, 32) and a symbol mapper.

[0062] That is to say, in case that the fading amplitudes are independent identically distributed (iid) Rayleigh random variables with a unit second moment and the phases are iid random variables uniformly distributed over [0, 2π), the receiving signal is given by Equation 3. $\begin{matrix} {{{r(t)} = {{\sqrt{2E_{c}}{\sum\limits_{k = 1}^{K}{\sum\limits_{m = 1}^{M}{\sum\limits_{n = {- \infty}}^{\infty}\quad {\alpha_{m}^{(k)}{\overset{\sim}{x}}_{m{\lbrack{n/N}\rbrack}}^{(k)}c_{n}^{(k)}{p\left( {t - {nT}_{c} - \tau_{k}} \right)}{\cos \left( {{\omega_{m}t} + \varphi_{m}^{(k)}} \right)}}}}}} + {n_{W}(t)}}},} & \left\lbrack {{Equation}\quad 3} \right\rbrack \end{matrix}$

[0063] where,

[0064] {τ_(k)} (propagation delay): independent identically distributed (iid) random variables uniformly distributed over [0, T_(b)),

φ_(m) ^((k)): φ_(m) ^((k))+θ_(m) ^((k))−ω_(m)τ_(k), and

[0065] n_(W)(t): additive white Gaussian noise (AWGN) having power spectral density (psd) of η₀/2.

[0066]FIG. 2 is a systematic diagram of a receiver of k-th user among K users communicating with one another by using a multicarrier DS/CDMA system using a turbo code.

[0067] As described in FIG. 2, a receiver comprises numbers of chip matched filters (90, 91, 92), numbers of third multipliers (100, 101, 102), numbers of lowpass filters (110, 111, 112), numbers of correlators (120, 121, 122), numbers of second interleavers (140, 141, 142), a symbol demapper (150), and a turbo decoder (160).

[0068] Numbers of chip matched filters (90, 91, 92) perform a chip matched filtering on the received signals, transmitted from the transmitter of the other users, for each channel.

[0069] Numbers of lowpass filters (110, 111, 112) modulate the chip matched filtered signal for each channel supplied through numbers of third multipliers (100, 101, 102) to be in-phased and perform a lowpass filtering on them.

[0070] Here, the outputs of the lowpass filters are sampled every T_(C) and then correlated with the signature sequence of a desired user by numbers of correlators (120, 121, 122).

[0071] Numbers of second interleavers (140, 141, 142) rearrange the sequence of the signals outputted from numbers of correlators (120, 121, 122) back to the original sequence by channel deinterleaving, a symbol demapper (150) is demapping the separated symbol signals, and a turbo decoder (160) decodes the signals.

[0072] The chip wave-shaping filter (60), P(f), of the above described transmitter satisfies the Nyquist criterion and is of unit energy. Here, it is defined that g(t)=F⁻¹{G(f)}, where, G(f)=|P(f)|² and F⁻¹ denotes the inverse Fourier transform.

[0073] Decoding procedures in the turbo decoder (160) are now described in detail.

[0074] The inputs for an iterative turbo decoder are modeled assuming that the first user (k=1) is a desired user and that perfect carrier, code and bit synchronization is obtained. Then, the correlator output of the q-th subchannel at time 1 can be written as Equation 4. $\begin{matrix} \begin{matrix} {Z_{q,l}^{(1)} = {\sum\limits_{n^{\prime} = 0}^{N - 1}\quad {c_{n^{\prime}}^{(1)}{y_{q}\left( {{lT}_{b} + {n^{\prime}T_{c}} + \tau_{1}} \right)}}}} \\ {{= {{N\sqrt{E_{c}}\alpha_{q}^{(1)}{\overset{\sim}{x}}_{q,l}^{1}} + U_{q,l} + W_{q,l}}},} \end{matrix} & \left\lbrack {{Equation}\quad 4} \right\rbrack \end{matrix}$

[0075] where,

[0076] y_(q)(t): the lowpass filter output on the q-th subchannel after being converted to the baseband,

[0077] U_(q,1): the multiple access interference (MAI) output of the q-th correlator output at time 1,

[0078] W_(q,1): the additive white Gaussian noise (AWGN) output of the q-th correlator output at time 1.

[0079] In has been shown in the prior art that Z_(q,l) ^((l)), conditioned on α_(q) ⁽¹⁾ and {tilde over (x)}_(q,l) ¹, is approximately Gaussian, where the approximation is valid for a large number of users and is perfect for K=1.

[0080] The means of the random variables, U_(q,1) and W_(q,1), are 0 (zero), and their variances are given by Equation 5. $\begin{matrix} \begin{matrix} {{{{Var}\left( U_{q,l} \right)} = {\frac{{N\left( {K - 1} \right)}E_{c}}{2T_{c}}{\int_{- \infty}^{\infty}{{{G(f)}}^{2}\quad {f}}}}},{and}} \\ {{{Var}\left( W_{q,l} \right)} = {\frac{N\quad \eta_{0}}{2}.}} \end{matrix} & \left\lbrack {{Equation}\quad 5} \right\rbrack \end{matrix}$

[0081] Using the equation (Eqn. 5), decoder inputs can be modeled. The decoder input model can be written by Equation 6.

z _(q,l)=α_(q,l) {tilde over (x)} _(q,l) +I _(q,l),   [Equation 6]

[0082] where,

[0083] z_(q,l), I_(q,l): the correlator output and its total noise component respectively, normalized by N{square root}{square root over (E_(c))}, on the q-th subchannel at time 1 after channel deinterleaving.

[0084] Here, user indexes on the superscript of symbols are dropped for notational convenience. The MAI plus AWGN term, I_(q,l), is approximately a zero mean Gaussian random variable, and its variance is given by Equation 7. $\begin{matrix} {{\sigma_{q}^{2} = {{\frac{K - 1}{2{NT}_{c}}{\int_{- \infty}^{\infty}{{{G(f)}}^{2}\quad {f}}}} + \frac{\eta_{0}M}{2E_{b}}}},} & \left\lbrack {{Equation}\quad 7} \right\rbrack \end{matrix}$

[0085] where,

[0086] E_(b)(=NME_(C)): energy-per-bit.

[0087] Before turbo decoding is performed, the normalized correlator outputs are partitioned into C subsets, {z_(l) ^(j), j=1, 2, . . . , C}, by the symbol demapper.

[0088] Here, z_(l) ^(j)={z_(q,l), qεA_(J)} is the subset composed of the correlator outputs for the subchannels where the turbo code symbol, x_(j,1), is transmitted.

[0089] The symbol mapping shown in FIG. 3 is denoted by the following equations:

z_(l) ¹={z_(3,l), z_(10,l)},

z_(l) ²={z_(1,l), z_(4,l), z_(6,l), z_(8,l), z_(11,l)},

z_(l) ³={z_(2,l), z_(7,l), z_(12,l)}, and

z_(l) ⁴={z_(5,l), z_(9,l)}.

[0090] The C subsets are again divided into three groups: z_(l) ¹ corresponding to the systematic data symbol, {_(z) _(l) ^(j)}_(p) ₁ ={z_(l) ², . . . , z_(l) ^(C) ^(₁) } corresponding to the parity check symbols of the first RSC decoder, and {z_(l) ^(J)}_(p) ₂ ={z_(l) ^(C) ^(₁) ⁺¹, . . . , z_(l) ^(C)} corresponding to the parity check symbols of the second RSC decoder.

[0091] When a rate ¼ turbo code described in FIG. 3 consists of a rate ½ first RSC code (2) and a rate ⅓ second RSC code (3), it follows that {z_(l) ^(J)}_(p) ₁ ={z_(l) ²} and {z_(l) ^(j)}_(p) ₂ ={z_(l) ³, z_(l) ⁴}.

[0092] These sets are inputted to a turbo decoder (160) along with the information on the fading amplitudes and noise variances.

[0093] Turbo decoding metric on multicarrier DS/CDMA system model using a turbo code with nonuniform repetition coding will be described hereinafter.

[0094] The turbo decoder (160) uses an iterative, suboptimal, soft-decoding rule where each constituent RSC code is separately decoded by its decoder. However, the constituent decoders share bit-likelihood information through an iterative process.

[0095] In addition, maximum a posteriori (MAP) algorithm is used for both the first and the second RSC decoders with some modification on the branch transition metric to incorporate the appropriate channel statistics for the system model.

[0096] For a fully interleaved channel with known fading amplitudes α={α_(1,l), . . . , α_(M,l), . . . , α_(1,W), . . . , α_(M,W)} with the block size of the input data sequence, W, the branch transition metric can be written by Equation 8.

γ₁((z _(l) ¹ , {z _(l) ^(J)}_(p) ₁ ),S _(l−1) ,S _(l)|α)=q(b _(l) =i|S _(l−1) ,S _(l))p(z _(l) ¹ ,{z _(l) ¹}_(p) ₁ |b _(l) =i,S _(l−1) ,S _(l)α)Pr{S _(l) |S _(l−1)},   [Equation 8]

[0097] where,

[0098] S₁: the encoder state at time 1.

[0099] Here, the state can take values between [0, 2^(v)−1] for an RSC encoder having v memory elements.

[0100] In other words, the value of q(b_(l)=i|S_(l−1), S_(l)) is 1 if a transition from states S_(l−1) to S_(l) occurs, and is 0 otherwise. The probability, Pr{S_(l)|S_(l−1)}, is given by Equation 9. $\begin{matrix} {{\Pr \left\{ S_{l} \middle| S_{l - 1} \right\}} = \left\{ \begin{matrix} {{\Pr \left\{ {b_{l} = 1} \right\}},} & {{{{when}\quad {q\left( {{b_{l} = \left. 1 \middle| S_{l - 1} \right.},S_{l}} \right)}} = 1},} \\ {{\Pr \left\{ {b_{l} = 0} \right\}},} & {{{{when}\quad {q\left( {{b_{l} = \left. 0 \middle| S_{l - 1} \right.},S_{l}} \right)}} = 1},} \\ {0,} & {{otherwise}.} \end{matrix} \right.} & \left\lbrack {{Equation}\quad 9} \right\rbrack \end{matrix}$

[0101] Here, a priori probabilities, Pr{b_(l)=i} are estimated by the other decoder through the iterative decoding process.

[0102] The conditional probability, p(|), appeared in Equation 8, is given by Equation 10. $\begin{matrix} \begin{matrix} {{p\left( {z_{l}^{1},{\left. \left\{ z_{l}^{j} \right\}_{p_{1}} \middle| b_{l} \right. = i},S_{l - 1},S_{l},\alpha} \right)} = {{p\left( {{\left. z_{l}^{1} \middle| b_{l} \right. = i},S_{l - 1},S_{l},\alpha} \right)}{p\left( {{\left. \left\{ z_{l}^{j} \right\}_{p_{1}} \middle| b_{l} \right. = i},S_{l - 1},S_{l},\alpha} \right)}}} \\ {= {\prod\limits_{q \in A_{1}}{\frac{1}{\sqrt{2\pi \quad \sigma_{q}^{2}}}\exp \left\{ {- \frac{\left( {z_{q,l} - {\alpha_{q,l}{x_{1,l}(i)}}} \right)^{2}}{2\sigma_{q}^{2}}} \right\} \times}}} \\ {{\prod\limits_{j = 2}^{C_{1}\quad}{\prod\limits_{q \in A_{j}}{\frac{1}{\sqrt{2\pi \quad \sigma_{q}^{2}}}\exp \left\{ {- \frac{\left( {z_{q,l} - {\alpha_{q,l}{x_{j,l}\left( {i,S_{l - 1},S_{l}} \right)}}} \right)^{2}}{2\sigma_{q}^{2}}} \right\}}}}} \\ {= {B_{l}\exp {\left\{ {{\left( {\sum\limits_{q \in A_{1}}\quad \frac{\alpha_{q,l}z_{q,l}}{\sigma_{q}^{2}}} \right){x_{1,l}(i)}} + {\sum\limits_{j = 2}^{C_{1}}\quad {\left( {\sum\limits_{q \in A_{j}}\quad \frac{\alpha_{q,l}z_{q,l}}{\sigma_{q}^{2}}} \right){x_{j,l}\left( {i,S_{l - 1},S_{l}} \right)}}}} \right\}.}}} \end{matrix} & \left\lbrack {{Equation}\quad 10} \right\rbrack \end{matrix}$

[0103] Here, x_(1,l)(i)=±1 according to b₁=i; x_(j,l)(i, S_(l−1), S_(l))=±1 according to the value of the j-th code symbol generated when the state transits from S_(l−1) to S₁ with input, b_(l)=i; and B₁ is a constant which has no influence on the decoding process.

[0104] In a similar way, the transition metric for the second RSC decoder can be obtained with the interleaved version of z_(l) ¹ and the other sets of parity check outputs, {z_(l) ^(J)}_(p) ₂ .

[0105] With the transition metrics described above, the log-likelihood ratio (LLR) of the l-th data bit, b₁, is computed at each decoder by Equation 11. $\begin{matrix} \begin{matrix} {{L_{k}\left( {\hat{b}}_{l} \right)} = {\log \frac{\Pr \left\{ {b_{l} = \left. 1 \middle| {observation} \right.} \right\}}{\Pr \left\{ {b_{l} = \left. 0 \middle| {observation} \right.} \right\}}}} \\ {\quad {{= {\log \frac{\sum\limits_{\quad S_{l}}^{\quad}\quad {\sum\limits_{S_{l - 1}}^{\quad}\quad {{\gamma_{1}\left( {\left( {z_{l}^{1},\left\{ z_{l}^{j} \right\}_{p_{k}}} \right),S_{l - 1},\left. S_{l} \middle| \alpha \right.} \right)}{ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}}}{\sum\limits_{\quad S_{l}}^{\quad}\quad {\sum\limits_{S_{l - 1}}^{\quad}\quad {{\gamma_{0}\left( {\left( {z_{l}^{1},\left\{ z_{l}^{j} \right\}_{p_{k}}} \right),S_{l - 1},\left. S_{l} \middle| \alpha \right.} \right)}{ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}}}}},}} \end{matrix} & \left\lbrack {{Equation}\quad 11} \right\rbrack \end{matrix}$

[0106] where,

[0107] L_(k)(): LLR computed by the decoder k(=1, 2),

[0108] ε₁(): forward recursion, and

[0109] β₁(): backward recursion.

[0110] Here, the forward recursion is generally denoted by α₁(), however, it is replaced by ε₁() in Equation 11 to avoid confusion with the fading amplitudes.

[0111] With the branch transition metric and LLR obtained by Equation 11, code symbols are decoded through an iterative process.

[0112] The turbo code is also denoted by a (C(W+v),W) block code. Here, W is the size of the input data sequence and Cv tail bits are appended to terminate the first RSC encoder state to the all-zero state. The effect of tail bits can be neglected when W is much larger than v, the memory size of constituent code.

[0113] It can be assumed that the all-zero codeword x={x_(1,l), Λ, x_(C,l), Λ, x_(1,W), Λ, x_(C,W)} is transmitted since the turbo code is a linear code.

[0114] Then, the union bound on the probability of word error under maximum likelihood (ML) decoding can be written as Equation 12. $\begin{matrix} {{P_{W} \leq {\sum\limits_{d = 1}^{CW}\quad {{A(d)}{P_{2}(d)}}}},} & \left\lbrack {{Equation}\quad 12} \right\rbrack \end{matrix}$

[0115] where,

[0116] A(d): number of codewords with Hamming weight d, and

[0117] P₂(d): pairwise error probability that the ML decoder will prefer a particular codeword {circumflex over (x)} of total Hamming weight d to the all-zero codeword x.

[0118] Since it is difficult to obtain A(d) for a specific interleaver, an average upper bound constructed with a random interleaver is proposed in the prior art (D. Divsalar, S. Dolinar, and F. Pollara, “Transfer function bounds on the performance of turbo codes,” TDA Progress Report 42-122, Jet Propul. Lab., Pasadena, USA, pp. 44-55, August 1995).

[0119] From the results of the prior art mentioned above, the average weight distribution is given by Equation 13. $\begin{matrix} {{{\overset{\_}{A}(d)} = {\sum\limits_{i = 1}^{W}\quad {\begin{pmatrix} W \\ i \end{pmatrix}{p\left( d \middle| i \right)}}}},} & \left\lbrack {{Equation}\quad 13} \right\rbrack \end{matrix}$

[0120] where,

[0121] p(d|i): probability that an input data sequence with Hamming weight i produces a codewoed with Hamming weight d.

[0122] Thus, the average union bound is given by Equation 14. $\begin{matrix} {{\overset{\_}{P}}_{W} \leq {\sum\limits_{i = 1}^{W}\quad {\begin{pmatrix} W \\ i \end{pmatrix}{\sum\limits_{d = 1}^{CW}{p\quad \left( d \middle| i \right){{P_{2}(d)}.}}}}}} & \left\lbrack {{Equation}\quad 14} \right\rbrack \end{matrix}$

[0123] Similarly, the average union bound on the probability of bit error is given by Equation 15. $\begin{matrix} {{\overset{\_}{P}}_{b} \leq {\sum\limits_{i = 1}^{W}{\frac{i}{W}{\sum\limits_{d = 1}^{CW}{p\quad \left( d \middle| i \right){{P_{2}(d)}.}}}}}} & \left\lbrack {{Equation}\quad 15} \right\rbrack \end{matrix}$

[0124] In the system of the present invention, the C distinct turbo code symbols for a given input symbol may go through channels with different noise levels and diversity orders.

[0125] Thus, it has to be taken into consideration how a codeword Hamming weight is constructed from the different kinds of turbo code symbols.

[0126] For this purpose, a turbo codeword {circumflex over (x)} is divided into C code fragments. Here, the j-th fragment is given by {circumflex over (x)}^(J)={{circumflex over (x)}_(J,1), {circumflex over (x)}_(J,2), Λ, {circumflex over (x)}_(J,W)}. If d_(j) denotes the Hamming weight of {circumflex over (x)}^(J), Equation 15 can be rewritten by Equation 16. $\begin{matrix} {{\overset{\_}{P}}_{b} \leq {\sum\limits_{d_{1} = 1}^{W}{\frac{d_{1}}{W}\begin{pmatrix} W \\ d_{1} \end{pmatrix}{\sum\limits_{\underset{{d{({= {\sum\limits_{j = 1}^{C}\quad d_{j}}})}} = 1}{({d_{2},d_{3},\Lambda,d_{C}})}}\quad {p\quad \left( {d_{2},d_{3},\Lambda,\left. d_{C} \middle| d_{1} \right.} \right){{P_{2}\left( {d_{1},d_{2},\Lambda,d_{C}} \right)}.}}}}}} & \left\lbrack {{Equation}\quad 16} \right\rbrack \end{matrix}$

[0127] Here, p(d₂, d₃, Λ, d_(C)|d₁) is the probability that an input data sequence of weight d₁ produces a codeword of total weight d=Σ_(J=1) ^(C)d_(j) with the code fragment weight d_(j) of {circumflex over (x)}^(j), and P₂(d₁, d₂, Λ, d_(C)) is the pairwise error probability that the ML decoder chooses a particular codeword {circumflex over (x)}^(J) with fragment weights (d₁, d₂, Λ, d_(C)) rather than the all-zero codeword.

[0128] In case that a random interleaver (i.e. random sequence) is used in the system described in FIG. 2, an input data sequence of weight d₁ is randomly permuted to some other sequence of weight d₁ at the input of the second RSC encoder.

[0129] That is to say, the permutation does not depend on the pattern of input data sequence on where the nonzero bits are located. And thus, the code fragments generated by the second RSC encoder with the permuted data sequence is different from those generated by the first RSC encoder with the original input data sequence as in the prior art by D. Divsalar, et al.

[0130] The probability p(d₂, Λ, d_(C)|d₁) is therefore decomposed into Equation 17.

p(d ₂ ,Λ,d _(C) |d ₁)=p ₁(d ₂ , Λ, d _(C) ₁ |d ₁)p ₂(d _(C) ₁ ₊₁ , Λ, d _(C) |d _(l)).   [Equation 17]

[0131] Here, p₁(d_(s) _(i) , Λ, d_(e) _(i) |d₁) is the probability that the RSC encoder i produces the codeword fragments {{circumflex over (x)}^(J)}_(J=S) ₁ ^(e) ^(₁) of weights (d_(s) _(i) , Λ, d_(e) _(i) ) with input data sequence of weight d₁. And, s_(i) and e_(i) denote the starting index and the ending index, respectively, of the codeword fragments {circumflex over (x)}^(J) produced by the RSC encoder i. The probability p_(i)(d_(s) _(i) , Λ, d_(e) _(i) |d₁) is given by Equation 18. $\begin{matrix} {{{p_{i}\quad \left( {d_{s_{i}},\Lambda,\left. d_{e_{i}} \middle| d_{1} \right.} \right)} = \frac{t_{i}\left( {W,d_{1},d_{s_{i}},\Lambda,d_{e_{i}}} \right)}{\begin{pmatrix} W \\ d_{1} \end{pmatrix}}},{i = 1},2,} & \left\lbrack {{Equation}\quad 18} \right\rbrack \end{matrix}$

[0132] where, $\begin{pmatrix} W \\ d_{1} \end{pmatrix}\text{:}$

[0133] number of all input data sequences of weight d₁, and

[0134] t_(i)(W, d₁, d_(s) _(i) , Λ, d_(e) _(i) ): number of codewords whose code fragments produced by the RSC encoder i have the weights (d_(s) _(i) , Λ, d_(e) _(i) ).

[0135] Here, t_(l)() is obtained by using the transfer function method proposed in the prior art by D. Divsalar, et al with some modification such that an RSC code transfer function enumerates all the fragment weights.

[0136]FIG. 3a and FIG. 3b are views illustrating the structure and the state of a rate ⅓ RSC encoder with a generator denoted in octal by (1, {fraction (5/7)}, {fraction (3/7)}).

[0137] In FIG. 3b, dummy variables are used to specify the path (L), the input weight (D₁), and the weight of code fragments (D₂, D₃) corresponding to the parity check symbols.

[0138] With a similar method to that of the prior art by D. Divsalar, et al, the state transition matrix of the code is obtained as Equation 19. $\begin{matrix} {{A\left( {L,D_{1},D_{2},D_{3}} \right)} = {\quad{\begin{bmatrix} L & {L\quad D_{1}D_{2}} & 0 & 0 \\ 0 & 0 & {L\quad D_{1}D_{3}} & {L\quad D_{2}D_{3}} \\ {L\quad D_{1}D_{2}D_{3}} & {L\quad D_{3}} & 0 & 0 \\ 0 & 0 & {L\quad D_{2}} & {L\quad D_{1}} \end{bmatrix}.}}} & \left\lbrack {{Equation}\quad 19} \right\rbrack \end{matrix}$

[0139] Using Equation 19, the transfer function is derived as Equation 20. $\begin{matrix} \begin{matrix} {{T\left( {L,D_{1},D_{2},D_{3}} \right)} = \left\lfloor \left( {I - {A\left( {L,D_{1},D_{2},D_{3}} \right)}} \right)^{- 1} \right.} \\ \left. {A\left( {L,1,D_{2},D_{3}} \right)}^{v} \right\rfloor_{({0,0})} \\ {= {\sum\limits_{l \geq 0}{\sum\limits_{d_{1} \geq 0}{\sum\limits_{d_{2} \geq 0}\sum\limits_{d_{3} \geq 0}}}}} \\ {{{t\left( {l,d_{1},d_{2},d_{3}} \right)}L^{l}D_{1}^{d_{1}}D_{2}^{d_{2}}{D_{3}^{d_{3}}.}}} \end{matrix} & \left\lbrack {{Equation}\quad 20} \right\rbrack \end{matrix}$

[0140] Here, (0,0) denotes the (0,0) element of the matrix and the term A(L,1,D₂,D₃) represents the contribution of tail bits in which neither path nor input data weight is accumulated. Using the transfer function obtained in this way, t(W, d₁, d₂, d₃) can be obtained by the recursion as described in the prior art by D. Divsalar, et al.

[0141] Besides, the pairwise error probability P₂(d₁, d₂, Λ, d_(C)) can be obtained when the channel side information such as fading amplitudes, α, and noise variance at each subchannel, {σ₄ ², q=1, 2, Λ, M}, is available.

[0142] That is, the conditional probability of incorrectly decoding the all-zero codeword x into a particular codeword {circumflex over (x)} with code fragment weights (d₁, d₂, Λ, d_(C)), conditioned on α, is given by Equation 21. $\begin{matrix} {{{P\left( {x,\left. \hat{x} \middle| \alpha \right.} \right)} = {Q\left( \sqrt{\sum\limits_{j = 1}^{C}\quad {\sum\limits_{l \in \xi_{j}}{\sum\limits_{q \in A_{j}}{\alpha_{q,l}^{2}/\sigma_{q}^{2}}}}} \right)}},} & \left\lbrack {{Equation}\quad 21} \right\rbrack \end{matrix}$

[0143] where, ${{Q(x)} = {\frac{1}{\sqrt{2\quad \pi}}{\int_{x}^{\infty}{^{- \frac{u^{2}}{2}}\quad {u}}}}},$

[0144] and

[0145] ξ_(J): index set of 1 such that x_(J,l)≠{circumflex over (x)}_(J,l).

[0146] Here, d_(j) is the cardinality of ξ_(J), since a codeword fragment {circumflex over (x)}^(J) differs in d_(j) places from the all-zero codeword fragment x^(J).

[0147] Thus, the average pairwise error probability, averaged over α, is given by Equation 22. $\begin{matrix} {{{P_{2}\left( {d_{1},d_{2},\Lambda,d_{C}} \right)} = {\int_{0}^{\infty}{\Lambda {\int_{0}^{\infty}{{Q\left( \sqrt{2\quad {\mu \left( {x,\left. \hat{x} \middle| \alpha \right.} \right)}} \right)}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{l \in \xi_{j}}^{\quad}\quad {\prod\limits_{q \in A_{j}}^{\quad}\quad {{p_{\alpha}\left( \alpha_{q,l} \right)}d\quad \alpha_{q,l}}}}}}}}}},} & \left\lbrack {{Equation}\quad 22} \right\rbrack \end{matrix}$

[0148] where,

μ(x,{circumflex over (x)}|α)=Σ_(J=1) ^(C)Σ_(lεξ) _(J) Σ_(qεA) _(J)α_(q,l) ²/2σ_(q) ², and

p _(α)(y)=2ye ^(−y) ² , for y≧0.

[0149] Since it is difficult to obtain the exact P₂(d₁, d₂, Λ, d_(C)) for all possible values of (d₁, d₂, Λ, d_(C)), a bound on the pairwise error probability is obtained instead by using the method proposed by Slimane et al (S. B. Slimane and T. Le-Ngoc, “Tight bounds on the error probability of coded modulation schemes in Rayleigh fading channels,” IEEE Trans. Vehic. Technol., vol. 44, no. 1, pp. 121-130, February 1995).

[0150] In this method, it is defined that α_(q,l)=α_(q,l){square root}{square root over (1+{fraction (1/2)})}σ_(q) ², and thus Equation 23 can be derived. $\begin{matrix} \begin{matrix} {{{P_{\alpha}\left( \alpha_{q,l} \right)}{{d\quad \alpha_{q,l}}}} = {2\alpha_{q,l}^{- \alpha_{q,l}^{2}}{{d\quad \alpha_{q,l}}}}} \\ {= {\frac{^{a_{q,l}^{2}{({{2\sigma_{q}^{2}} + 1})}}}{1 + {{1/2}\sigma_{q}^{2}}}2a_{q,l}^{- a_{q,l}^{2}}{{{d\quad a_{q,l}}}.}}} \end{matrix} & \left\lbrack {{Equation}\quad 23} \right\rbrack \end{matrix}$

[0151] By using Equation 23, Equation 22 can be rewritten as Equation 24. $\begin{matrix} {{{P_{2}\left( {d_{1},d_{2},\Lambda,d_{C}} \right)} = {\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}^{\quad}\quad {\left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{j}}{\int_{0}^{\infty}{\Lambda {\int_{0}^{\infty}{{Q\left( \sqrt{2{\mu\left( {x,{\hat{x}\left. a \right)}} \right.}} \right)}^{\mu({x,{\hat{x}{a)}}}}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{l = 1}^{d_{j}}\quad {\prod\limits_{q \in A_{j}}^{\quad}{{p_{\alpha}\left( a_{q,l} \right)}{a_{q,l}}}}}}}}}}}}}},} & \left\lbrack {{Equation}\quad 24} \right\rbrack \end{matrix}$

[0152] where,

μ(x,{circumflex over (x)}|α)=Σ_(J=1) ^(C)Σ_(lεξ) _(J) Σ_(qεA) _(J) α_(q,l) ²/(2σ₄ ²+1), and

[0153] p_(α)(a_(q, l)) = 2a_(q, l)^(−a_(q, l)²),

[0154] for α_(q,l)≧0.

[0155] Besides, defining the minimum and the maximum values among the {σ_(q) ², q=1, 2, Λ, M} to be σ_(min) ² and σ_(max) ², it follows that w_(min) ²v≦μ(x, {circumflex over (x)}|α)≦w_(max) ²v, where ${w_{\min} = \sqrt{\frac{1}{{2\sigma_{\max}^{2}} + 1}}},{w_{\max} = \sqrt{\frac{1}{{2\sigma_{\min}^{2}} + 1}}},$

[0156] and v=Σ_(J=1) ^(C)Σ_(lεξ) _(J) Σ_(qεA) _(J) α_(q,l) ².

[0157] More specifically, the random variable v is the sum of d_(t)=Σ_(J=1) ^(C)d_(J)M_(J) Rayleigh random variables with unit second moment. That is, v is a chi-square random variable with 2d_(t) degrees of freedom.

[0158] Thus, Equation 24 is bounded by Equation 25. $\begin{matrix} {{{P_{2}\left( {d_{1},d_{2},\Lambda,d_{C}} \right)} \leq {{K\left( {d_{t},w_{\min}} \right)}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}^{\quad}\quad \left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{j}}}}}},} & \left\lbrack {{Equation}\quad 25} \right\rbrack \end{matrix}$

[0159] where, ${K\left( {d_{t},w} \right)} = {{\int_{0}^{\infty}{{Q\left( {w\sqrt{2v}} \right)}^{w^{2}v}{p_{v}(v)}{v}}} = {\frac{1}{2^{2d_{t}}}{\sum\limits_{k = 1}^{d_{t}}{\begin{pmatrix} {{2d_{t}} - k - 1} \\ {d_{t} - 1} \end{pmatrix}{\frac{2^{k}}{\left( {1 + w} \right)^{k}}.}}}}}$

[0160] In this way, the average bit error probability is bounded as Equation 26. $\begin{matrix} {{\overset{\_}{P}}_{b} \leq {\sum\limits_{d_{1} = 1}^{W}{\frac{d_{1}}{W}\begin{pmatrix} W \\ d_{1} \end{pmatrix}{\sum\limits_{\underset{{d{({= {\sum\limits_{j = 1}^{C}d_{j}}})}} = 1}{({d_{2},d_{3},\Lambda,d_{C}})}}^{\quad}{\begin{matrix} {p\left( {{d_{2,}d_{3,}\Lambda},{d_{C}{d_{1}}}} \right)} \end{matrix}\begin{matrix} {K\left( {d_{t},w_{\min}} \right){\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}^{\quad}\quad {\left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{j}}.}}}} \end{matrix}}}}}} & \left\lbrack {{Equation}\quad 26} \right\rbrack \end{matrix}$

[0161] Since it is difficult to calculate K(d_(l), w_(min)) in Equation 26 for large values of d_(t) due to the numerical problem and calculation time, Equation 26 is further upper bounded as Equation 27 by using the fact that K(d,w) is a monotonically decreasing function of d_(t). $\begin{matrix} {{{\overset{\_}{P}}_{b} \leq {{K\left( {d_{t,\min},w_{\min}} \right)}{\sum\limits_{d_{1} = 1}^{W}{\frac{d_{1}}{W}\begin{pmatrix} W \\ d_{1} \end{pmatrix}{\sum\limits_{\underset{{d{({= {\sum\limits_{j = 1}^{C}d_{j}}})}} = 1}{({d_{2},d_{3},\Lambda,d_{C}})}}^{\quad}{\begin{matrix} {p\left( {{d_{2,}d_{3,}\Lambda},{d_{C}{d_{1}}}} \right)} \end{matrix}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}^{\quad}\quad \left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{j}}}}}}}}}},} & \left\lbrack {{Equation}\quad 27} \right\rbrack \end{matrix}$

[0162] where $d_{t,\min} \equiv {\min\limits_{({d_{1},d_{2},\Lambda,d_{C}})}{\sum\limits_{j = 1}^{C}{d_{j}{M_{j}:}}}}$

[0163] total minimum distance of the codewords resulting after repetition coding is applied to the turbo code symbols.

[0164] Here, if the noise variance is the same for all the subchannels such that σ_(q) ²=σ², Equation 27 can be simplified as Equation 28. $\begin{matrix} {{\overset{\_}{P}}_{b} \leq {{K\left( {d_{t,\min},w_{\min}} \right)}{\sum\limits_{d_{1} = 1}^{W}{\frac{d_{1}}{W}\begin{pmatrix} W \\ d_{1} \end{pmatrix}{\sum\limits_{\underset{{d{({= {\sum\limits_{j = 1}^{C}d_{j}}})}} = 1}{({d_{2},d_{3},\Lambda,d_{C}})}}^{\quad}{\begin{matrix} {p\left( {{d_{2,}d_{3,}\Lambda},{d_{C}{d_{1}}}} \right)} \end{matrix}{\left( \frac{1}{1 + {{1/2}\sigma^{2}}} \right)^{\sum\limits_{j = 1}^{C}{d_{j}M_{j}}}.}}}}}}} & \left\lbrack {{Equation}\quad 28} \right\rbrack \end{matrix}$

[0165] Even though average union bounds are known to accurately estimate the performance of a turbo code in the moderate to high signal-to-noise ratio (SNR) region, called the error floor region, it is difficult to obtain the number of codewords for all possible code fragment weights for large values of W and C. Thus, in the present invention, the performance of a turbo code is estimated by an asymptotic performance which shows the behavior of the BER in the moderate to high SNR region as the random interleaver gets large.

[0166] There are two important factors of turbo codes: the inetrleaving (permutation) of input data sequences and the recursiveness of the constituent codes. The interleaver matches the low weight output of one encoder with the high weight output of the other, thereby reduces the probability that the net codeword has low weights.

[0167] On the other hand, the recursiveness of the constituent codes eliminates the codewords due to input data sequences of weight 1 which remain in the same pattern after interleaving. Thus, the minimum weight of input data sequences is 2 for turbo coding, and it is less likely for turbo codewords to have low weight as either the weight of the input data sequences or the size of the interleaver increases.

[0168] That is to say, the probability that an input data sequence of weight 2 which generates the lowest output weight at the first RSC encoder is permuted to the pattern which generates the lowest output weight at the second RSC encoder is approximately 2/W, while the probability for an input data sequence of weight 3 is approximately 6/W² for random interleaving.

[0169] Thus, the minimum weight of the codewords due to input data sequences of weight 2, defined as the effective free distance, dominates the performance in the moderate SNR region as the size of the random interleaver gets large.

[0170] On the other hand, the BER term due to the codewords of total minimum distance d_(t,min), dominates the performance in the high SNR region, since the BER terms in Equation 26 decrease fast as the SNR increases at the d_(t) power of the inverse SNR, and thus the BER terms due to d_(t)(>d_(t,min)) are negligible compared to that due to d_(t,min).

[0171] Based on these observations, the asymptotic performance considering the two BER terms due to the effective free distance and total minimum distance in Equation 26 is given by Equation 29. $\begin{matrix} {{{\overset{\_}{P}}_{b,{asy}} \equiv {{B_{ef}{K\left( {d_{t,{ef}},w_{\min}} \right)}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}\quad \left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{jef}}}}} + {B_{\min}{K\left( {d_{t,\min},w_{\min}} \right)}{\prod\limits_{j = 1}^{C}\quad {\prod\limits_{q \in A_{j}}\quad \left( \frac{1}{1 + {{1/2}\sigma_{q}^{2}}} \right)^{d_{j,\min}}}}}}},} & \left\lbrack {{Equation}\quad 29} \right\rbrack \end{matrix}$

[0172] where, $B_{ef} = {\frac{2}{W}\begin{pmatrix} W \\ 2 \end{pmatrix}{p\left( {d_{2,{ef}},\Lambda,{d_{C,{ef}}\left. 2 \right)},{B_{\min} = {\frac{d_{1,\min}}{W}\begin{pmatrix} {W\quad} \\ d_{1,\min} \end{pmatrix}{p\left( {d_{2,\min},\Lambda,{d_{C,\min}\left. d_{1,\min} \right)},} \right.}}}} \right.}}$

[0173] d_(j,ef): j-th code fragment weight contributing to the effective free distance d_(ef)=Σ_(J=1) ^(C)d_(J,ef),

[0174] d_(t,ef)=2M₁+Σ_(J=2) ^(C)d_(J,ef)M_(J): total effective free distance after the repetition coding is applied to the turbo code symbols, and

[0175] d_(j,min): j-th code fragment weight contributing to the total minimum distance d_(t,min).

[0176]FIG. 4 compares the union bound, the asymptotic performance with one BER term due to the effective free distance (Asymp 1), and the asymptotic performance with two BER terms due to the effective free distance and total minimum distance (Asymp 2) when K=1, M=12, W=100, W=10000 and a rate ⅓ turbo code is used with a repetition vector of (4, 4, 4).

[0177] As described in FIG. 4, while Asymp 1 deviates from the union bound at high SNR when W=100, Asymp 2 quite well estimates the union bound.

[0178] Thus, it will be enough to find the minimum distance and the effective free distance of a turbo code to estimate the performance in the error floor region.

[0179] In addition, the performance of the proposed system is evaluated in the present invention for various repetition vectors (M₁, M₂, Λ, M_(C)). Either the average union bound or the asymptotic performance is used to estimate the performance in the error floor region.

[0180] Various simulations were also carried out in the present invention for the low SNR region where neither the bound nor the asymptotic performance can be applied. Random interleavers are used for the permutation of input data sequences, and the number of decoding iterations is 15 for all simulation results.

[0181] It is assumed that G(f) is a raised-cosine filter with rolloff factor 0.5, and the total processing gain due to spreading and coding is fixed such that PG_(t)=NM=512 for all simulation results.

[0182] Here, the number M of subcarriers is first chosen, and N is then determined by the largest integer less than PG_(t)/M. The generating polynomial of a turbo code is denoted by (1, g₂/h₂, Λ, g_(C)/h_(C)), where g_(j) and h_(j) are the forward and the feedback polynomials in octal for the j-th parity check symbols.

[0183] First, the performance is investigated when K=1 (i.e. single user case).

[0184]FIG. 5 compares the results from simulations with the bounds for three repetition combinations when W=100 and W=1000 and a rate ⅓ turbo code with generator (1, {fraction (5/7)}, {fraction (5/7)}) is used.

[0185] The turbo code used for performance investigation is the one with the best effective free distance among the codes of the same memory.

[0186] In FIG. 5, it is observed that the bounds fall slightly below the simulation results, which, in part, results from the fact that the bounds are based on ML decoding and the simulation results are obtained with the suboptimal iterative decoding algorithm.

[0187] Such a behavior was also observed in the prior art (S. Benedetto and G. Montorsi, “Design of parallel concatenated convolutional codes,” IEEE Trans. Commun., vol. 44, pp. 591-600, may 1996), where the convergence of the simulated performance toward the analytical bounds was shown for an AWGN channel.

[0188] Another observation is that the system with a (2, 5, 5) repetition vector performs better in the error floor region as W increases. This effect arises because the effective free distance dominates the performance as W increases.

[0189] The turbo code used for FIG. 5 has an effective free distance d_(ef)=10, whereas the code fragment weights are d_(1,ef)=2, d_(2,ef)=4, and d_(3,ef)=4.

[0190] After repetition coding is applied, the total effective free distance becomes d_(t,ef)=36, d_(t,ef)=40, and d_(t,ef)=44 for the (6, 3, 3), (4, 4, 4), and (2, 5, 5) repetition vectors, respectively. Thus, the BER at which the error floor begins can be lowered by giving more diversity to the parity check symbols and thereby increasing the total effective free distance.

[0191] In addition, FIG. 5 shows the simulation results of the performance of the three repetition methods in the low SNR region when W=1000.

[0192] It is observed that the repetition vector processing better performance in the error floor region shows somewhat worse performance for very low SNRs. The reason for such behavior may be explained by the following conjecture.

[0193] The log-likelihood ratio (LLR) in Equation 11 can be partitioned as Equation 30.

L _(k)({circumflex over (b)} _(l))=L _(c,k)({circumflex over (b)} _(l))+L _(e,k)({circumflex over (b)} _(l))+L _(p,k)({circumflex over (b)} _(l)),

[0194] where ${L_{c,k}\left( {\hat{b}}_{l} \right)} = {2{\sum\limits_{q \in A_{1}}\quad {\frac{\alpha_{q,l}z_{q,l}}{\sigma_{q}^{2}}\text{:}}}}$

[0195] constituent due to the channel measurement of the systematic data, ${L_{e,k}\left( {\hat{b}}_{l} \right)} = {\log \frac{\left. {\sum\limits_{S_{l}}{\sum\limits_{S_{l - 1}}{{\gamma_{1}\left( {\left\{ z_{l}^{j} \right\}_{p_{k}},S_{l - 1},S_{l}} \right.}\alpha}}} \right){ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}{\left. {\sum\limits_{S_{l}}{\sum\limits_{S_{l - 1}}{{\gamma_{0}\left( {\left\{ z_{l}^{j} \right\}_{p_{k}},S_{l - 1},S_{l}} \right.}\alpha}}} \right){ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}\text{:}}$

[0196] information obtained from the decoding process, and

[0197] L_(p,k)({circumflex over (b)}_(l)): a priori probability which is given by the extrinsic information from the other decoder in the iterative decoding process.

[0198] It is expected that the decision of the data bit becomes more reliable by the use of both L_(e,k)({circumflex over (b)}_(l)) and L_(p,k)({circumflex over (b)}_(l)) through the iterative decoding process. However, at low SNR values, one decoder outputs unreliable erroneous extrinsic information, which adds erroneous information to the other decoder, and thus it is hard for the decoders to converge on a decision of the transmitted data.

[0199] Thus, if a higher diversity order is given to the systematic data, a lower diversity order is given to the parity check symbols, and the effect of erroneous information exchange will be reduced in the low SNR region.

[0200] However, as the decoder begins to perform better as the SNR increases, the extrinsic information from one decoder enhances the ability of the other decoder to out put more reliable LLR, and vice versa.

[0201] Thus, there is a tradeoff between the performance in the low SNR region and that in the high SNR region according to how much diversity is given to the data symbols and how much is given to the parity check symbols.

[0202]FIG. 6 is a graph showing the bit error rate along with E_(b)/η₀ when K=1, M=12, W=1000 and three turbo codes of different rates are used, and Table 1 shows the parameters and total effective distances for some turbo codes of rate 1/C constructed from two RSC codes of rate 1/C₁ and 1/C₂. TABLE 1 1/C (1/C₁, 1/C₂) (1, g₂/h₂, . . . , g_(C)/h_(C)) (M₁, . . . , M_(C)) (d_(1,ef), . . . , d_(C,ef)) d_(t,ef) 1/3 (1/2, 1/2) (1, 5/7, 5/7) (2, 5, 5) (2, 4, 4) 44 1/4 (1/2, 1/3) (1, 5/7, 5/7, 3/7) (2, 5, 3, 2) (2, 4, 4, 2) 40 1/5 (1/3, 1/3) (1, 5/7, 3/7, 5/7, 3/7) (2, 3, 2, 3, 2) (2, 4, 2, 4, 2) 36

[0203]FIG. 6 shows the effect of the different kinds of parity check symbols by fixing the repetition number of the data symbols and changing the code rate and the repetition number of the parity check symbols. In addition, the parameters and the repetition vectors of the codes used for obtaining FIG. 6 are provided in Table 1 along with the corresponding total effective free distance.

[0204] While the rate ⅓ turbo code with the (2, 5, 5) repetition vector performs best in the error floor region, it shows the worst performance in the low SNR region. Note that the code fragment generated by the generator {fraction (3/7)} has a smaller weight contribution to the effective free distance than that of the generator {fraction (5/7)}. Thus, as new code fragments generated by the generator {fraction (3/7)} are added, the performance in the error floor region gets worse, while that in the low SNR region gets better. Therefore, the desired code rate and repetition method should be properly selected according to the operating BER values.

[0205] It is also investigated in the present invention the performance of the system when the multiple access interference (MAI) exists.

[0206]FIG. 7 is a graph showing the bit error rate along with K when M=12, W=1000, E_(b)/η₀=5 dB and a rate ⅓ turbo code is used.

[0207] In the figure, it is observed that there is a crossover between the two repetition methods, which was also observed in the single user case.

[0208] That is, at the BER values below the crossover, the effective free distance dominates the performance characteristics so that the system with the (2, 5, 5) repetition vector performs better than that with the (4, 4, 4) repetition vector. On the other hand, the results are reversed at the BER values above the crossover, since increasing the diversity order to the parity check symbols leads to some divergence of the iterative decoding in the low SNR region.

[0209] Conclusively, by increasing the total effective free distance with a proper repetition method, the system capacity can be increased at the low BER region near or below the error floor region.

[0210] For example, at a BER of 10⁻⁵, the system can admit about 40 users more with the (2, 5, 5) repetition vector than with the (4, 4, 4) repetition vector for a rate ⅓ turbo code.

[0211] As mentioned thereinbefore, a multicarrier DS/CDMA system in accordance with the present invention increases the diversity order to the parity check symbols when encoding/decoding the data bits in a turbo encoder/decoder so that it can provide a better communication quality under the mobile communication environment when being applied to a base station and a mobile terminal.

[0212] In addition, it can increase the number of possible users under the mobile communication environment by reducing the fading effect by increasing the diversity of the codes and the channels.

[0213] Since those having ordinary knowledge and skill in the art of the present invention will recognize additional modifications and applications within the scope thereof, the present invention is not limited to the embodiments and drawings described above. 

What is claimed is:
 1. A multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding comprising: a turbo encoder for encoding input data bits; a repeater/symbol mapper for replicating the turbo code symbols outputted from said turbo encoder into repetition code symbols in frequency domain and mapping said replicated repetition code symbol signals appropriately; at least one first interleaver for changing channels for the turbo code symbols outputted from said repeater/symbol mapper so that the fading effect is properly distributed on the codeword symbols; at least one first multiplier for multiplying a signature sequence to the turbo code symbols, which are properly rearranged by said at least one first interleaver, for band-broadening; at least one impulse modulator for modulating the band-broadened signals from said at least one first multiplier to an impulse shape; at least one chip wave-shaping filter for smoothening the waveform of the output signals from said at least one impulse modulator and eliminating the interference between the symbols; at least one second multiplier for mapping the output signals from said at least one chip wave-shaping filter to each frequency band; a first adder for adding all the output signals from said at least one second multiplier and transmitting the signals; and a reception system for receiving the transmitted signals from said first adder.
 2. A multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding as claimed in claim 1, wherein said reception system comprises: at least one chip matched filter for chip-matched filtering the signals transmitted from said first adder for each channel; at least one third multiplier for the chip-matched filtered signals for each channel outputted from said at least one chip-matched filter transmitting through; at least one lowpass filter for inphase modulating and lowpass filtering the signals transmitted through said at least one third multiplier; at least one correlator for sampling the lowpass filtered signals outputted from said at least one low-pass filter at each T_(c) and thereafter correlating the signal with a signature sequence of a user; at least one second interleaver for rearranging the sequence of the signals, correlated with a signature sequence of a desired user, outputted from said at least one correlator back to the original sequence by deinterleaving; a symbol demapper for demapping the separated symbol signals outputted from said at least one second interleaver; and a turbo decoder for decoding the demapped symbol signals outputted from said symbol demapper.
 3. A multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding as claimed in claim 1, wherein said turbo encoder comprises: an interleaver; a first recursive systematic convolutional (RSC) encoder for encoding input turbo code symbols into parity check symbols; and a second recursive systematic convolutional (RSC) encoder for encoding the turbo code symbols properly rearranged by said interleaver into parity check symbols, and thereby characterize by performing a repetition coding with giving an additional diversity order to the turbo code symbols.
 4. A multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding as claimed in claim 1, wherein said impulse modulators are constructed from in-phase modulators.
 5. A multicarrier direct sequence code division multiple access (DS/CDMA) system using a turbo code with nonuniform repetition coding as claimed in claim 2, characterized in that said turbo decoder decodes the turbo code symbols by using a turbo decoding metric of an iterative process based on a branch transition metric and a log-likelihood ratio (LLR) using the following equations of Equations 31 and 32: $\begin{matrix} {{\left. {{{{p\left( {z_{l}^{1},\left\{ z_{l}^{j} \right\}_{p_{1}}} \right.}b_{l}} = i},S_{l - 1},S_{l},\alpha} \right) = {{p\left( {{{z_{l}^{1}\left. {{b_{l} = i},S_{l - 1},S_{l},\alpha} \right){p\left( \left\{ z_{l}^{j} \right\}_{p_{1}} \right.}b_{l}} = i},S_{l - 1},S_{l},\alpha} \right)} = {{\prod\limits_{q \in A_{1}}{\frac{1}{\sqrt{2{\pi\sigma}_{q}^{2}}}\exp \left\{ {- \frac{\left( {z_{q,l} - {\alpha_{q,l}{x_{1,l}(i)}}} \right)^{2}}{2\sigma_{q}^{2}}} \right\} \times {\prod\limits_{j = 2}^{C_{1}}\quad {\prod\limits_{q \in A_{j}}{\frac{1}{\sqrt{2{\pi\sigma}_{q}^{2}}}\exp \left\{ {- \frac{\left( {z_{q,l} - {\alpha_{q,l}{x_{j,l}\left( {i,S_{l - 1},S_{l}} \right)}}} \right)^{2}}{2\sigma_{q}^{2}}} \right\}}}}}} = {B_{l}\exp \left\{ {{\left( {\sum\limits_{q \in A_{1}}\quad \frac{\alpha_{q,l}z_{q,l}}{\sigma_{q}^{2}}} \right){x_{1,l}(i)}} + {\sum\limits_{j = 2}^{C_{1}}{\left( {\sum\limits_{q \in A_{j}}\quad \frac{\alpha_{q,l}z_{q,l}}{\sigma_{q}^{2}}} \right){x_{j,l}\left( {i,S_{l - 1},S_{l}} \right)}}}} \right\}}}}},} & \left\lbrack {{Equation}\quad 31} \right\rbrack \end{matrix}$

where, x_(1,l)(i)=±1 according to b₁=i; x_(J,l)(i, S_(l−1), S_(l))=±1 according to the value of the j-th code symbol generated when the state transits from S_(l−1) to S₁ with input, b_(l)=i; and B₁: a constant which has no influence on the decoding process, $\begin{matrix} {{{L_{k}\left( {\hat{b}}_{l} \right)} = {{\log \frac{\left. {\Pr \left\{ {b_{l} = 1} \right.{observation}} \right\}}{\left. {\Pr \left\{ {b_{l} = 0} \right.{observation}} \right\}}} = {\log \frac{\left. {\sum\limits_{S_{l}}{\sum\limits_{S_{l - 1}}{{\gamma_{1}\left( {\left( {z_{l}^{1},\left\{ z_{l}^{j} \right\}_{p_{k}}} \right),S_{l - 1},S_{l}} \right.}\alpha}}} \right){ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}{\left. {\sum\limits_{S_{l}}{\sum\limits_{S_{l - 1}}{{\gamma_{0}\left( {\left( {z_{l}^{1},\left\{ z_{l}^{j} \right\}_{p_{k}}} \right),S_{l - 1},S_{l}} \right.}\alpha}}} \right){ɛ_{l - 1}\left( S_{l - 1} \right)}{\beta_{l}\left( S_{l} \right)}}}}},} & \left\lbrack {{Equation}\quad 32} \right\rbrack \end{matrix}$

where, L_(k)(): LLR computed by the decoder k(=1, 2), ε₁(): forward recursion, and β₁(): backward recursion. 